﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LM.Negocio.Objetos;
using LM.Repositorios.Interfaces;

namespace LM.Repositorios
{
    public class RespositorioDeOperador : RepositorioDeObjetosAbstrato<Operador>, IRespositorioDeOperador, IRepositorioDeOperadorAutenticacao
    {
        public Operador Consulte( int codigo )
        {
            return new Contexto().Operador.FirstOrDefault( m => m.Codigo == codigo );
        }

        protected override Operador ConsulteObjetoPersistido( Operador objeto )
        {
            return base.Consulte( o => o.Codigo == objeto.Codigo ).FirstOrDefault();
        }

        public bool Consulte( Operador operador )
        {
            Contexto contexto = new Contexto();
            var result = contexto.Operador.FirstOrDefault( m => m.Senha == operador.Senha && m.Nome == operador.Nome );

            if ( result == null )
                return false;

            result.Status = true;
            contexto.SaveChanges();
            return true;
        }
    }
}
